package com.example.mymatch.service.Imp;

import com.example.mymatch.dao.IDept;
import com.example.mymatch.model.Dept;
import com.example.mymatch.service.IDeptService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 对服务接口规范的方法实现
 * 编写者：吴茂景
 */
@Service
public class IDeptServiceImpl implements IDeptService {

    @Autowired
    private IDept deptMapper;   //对后端数据操作某张表的定义规范 编写者：吴茂景

    @Override//添加方法
    public int insertDept(Dept dept){
        int deptValue=0;
        //查看当前部门名称不能重复
        Dept dept1=new Dept();
        dept1.setId(dept.getId());
        List<Dept> getC=deptMapper.getAllDept(dept1);
        if (getC.size()>=1){
            //不可以添加部门名称
            deptValue=-1;
        }else {
            deptValue=deptMapper.insertDept(dept);
        }
        return deptValue;
    }

    @Override
    public List<Dept> getAllDept(Dept dept){
        return deptMapper.getAllDept(dept);
    }

    @Override
    public int updateDept(Dept dept){
        int deptValue=0;
        //判断主键不能为0
        if (dept.getId()!=0){
            //主键信息必修存在

            //名称不能重复

            deptValue=deptMapper.updateDept(dept);
        }
        return deptValue;
    }

    @Override
    public  int deleteDept(Dept dept){
        int deptValue=0;
        //判断主键不能为0
        if (dept.getDeptName()!=null){
            //主键是否有其他表有关联，如果关联，则先删除其他表的信息，或者给出此条信息不允许被删除


            deptValue=deptMapper.deleteDept(dept);
        }
        return deptValue;
    }

    //单条查询
    @Override
    public Dept getDept(Dept dept){
        Dept dept1=new Dept();
        if (dept.getDeptName()!= null){
            dept1=deptMapper.getDept(dept);
        }
        return dept1;
    }

    @Override
    public List<Dept> query(int id) {
        return deptMapper.query(id);
    }
}
